	<style type="text/css">
		tr{
			cursor: pointer;
		}
	</style>
    <div class="container-fluid" id="LG">
    <div class="row-fluid">
        <div class="span12">
            <% $.et.load('template/menu.et.html', data) %>
            <div class="panel panel-default" style="margin-top: 10px;">
			<div class="panel-heading">
				<h2 class="panel-title">基本设置</h2>
			</div>
			<div class="panel-body">
				<div style="margin-bottom: 20px;" class="input-group">
		        	<span class="input-group-addon">设置JAVA路径</span>
		        	<input id="javapath" type="text" class="form-control" readonly="readonly">
		        	<span class="input-group-btn">
		        		<button onclick="$('#filelist_modal').modal('show');R.getFileList();" class="btn btn-default">选择</button>
		        		<button onclick="R.help_java()" class="btn btn-default" class="btn">?</button>
		        	</span>
		    	</div>
		    	<div style="margin-bottom: 20px;" class="input-group">
		        	<span class="input-group-addon">选择JAR文件</span>
		        	<select id="jarpath" type="text" class="form-control">				
					</select>
		        	<span class="input-group-btn">
		        		<button onclick="$('#jarupload_modal').modal('show');" class="btn btn-default">上传</button>
		        		<button onclick="R.help_jar()" class="btn btn-default" class="btn">?</button>
		        	</span>
		    	</div>
		    	<div style="margin-bottom: 20px;" class="input-group">
		        	<span class="input-group-addon">附加JAVA参数</span>
		        	<input id="javaparam" type="text" class="form-control">
		        	<span class="input-group-btn">
		        		<button onclick="R.help_javaparam()" class="btn btn-default" class="btn">?</button>
		        	</span>
		    	</div>
		    	<div style="margin-bottom: 20px;" class="input-group">
		        	<span class="input-group-addon">附加启动参数</span>
		        	<input id="startparam" type="text" class="form-control">
		        	<span class="input-group-btn">
		        		<button onclick="R.help_startparam()" class="btn btn-default" class="btn">?</button>
		        	</span>
		    	</div>
		    	<div style="margin-bottom: 20px;" class="input-group">
		        	<span class="input-group-addon">服务器内存</span>
		        	<input id="maxmemory" type="text" class="form-control">
		        	<span class="input-group-btn">
		        		<button onclick="R.help_memory()" class="btn btn-default" class="btn">?</button>
		        	</span>
		    	</div>
		    	<div class="btn-group btn-group-justified">
					<a class="btn btn-default" href="javascript:;" onclick="R.saveData()">保存设置</a>
				</div>
			</div>
			<div class="panel-footer"><% $.et.load('template/version.et.html', data) %></div>
			</div>
        </div>
    	</div>
	</div>
	<!-- 模态窗口 -->
	<div class="modal fade" id="filelist_modal" tabindex="-1" role="dialog" 
	   aria-labelledby="myModalLabel" aria-hidden="true">
	   <div class="modal-dialog">
	      <div class="modal-content">
	         <div class="modal-header">
	            <button type="button" class="close" 
	               data-dismiss="modal" aria-hidden="true">
	                  &times;
	            </button>
	            <h4 class="modal-title" id="myModalLabel">
	               	请选择java
	            </h4>
	         </div>
	         <div class="modal-body">
	         	<div id="filelist_alert" style="display:none;" class="alert alert-danger alert-dismissable">
				</div>
				<small id="curpath">当前位置:</small>
	         	<table class="table table-hover">
	         		<thead>
	         			<th style="width: 45%;">文件名</th>
	         			<th style="width: 25%;">文件类型</th>
	         			<th style="width: 30%;">创建时间</th>
	         		</thead>
	         		<tbody id="file_list">
	         		</tbody>
	         	</table>
	         </div>
	         <div class="modal-footer">
	            <button type="button" class="btn btn-default" 
	               data-dismiss="modal">关闭
	            </button>
	         </div>
	      </div>
	     </div>
	</div>
		<div class="modal fade" id="jarupload_modal" tabindex="-1" role="dialog" 
	   aria-labelledby="myModalLabel" aria-hidden="true">
	   <div class="modal-dialog">
	      <div class="modal-content">
	         <div class="modal-header">
	            <button type="button" class="close" 
	               data-dismiss="modal" aria-hidden="true">
	                  &times;
	            </button>
	            <h4 class="modal-title" id="myModalLabel">
	               	上传JAR文件
	            </h4>
	         </div>
	         <div class="modal-body">
				 <div id="jar_alert" style="display:none;" class="alert alert-danger alert-dismissable">
				 </div>
				 <p>上传用作开服的核心JAR文件到服务端目录中</p>
				 <p>文件可以通过百度搜索“Minecraft服务端文件”下载，或者访问MCSBBS等Minecraft论坛寻找下载地址。</p>
				 <p>如果文件有多个而不是单JAR文件（比如Cauldron，整合包等），那么请使用 更多 - 服务器文件管理 功能来上传并设置你的Minecraft服务器。</p>
	         </div>
			 <div style="margin: 0 20px;margin-bottom: 10px" class="progress progress-striped active">
				<div class="progress-bar progress-bar-success"  role="progressbar" aria-valuenow="60"
					aria-valuemin="0" aria-valuemax="100" id="progressbar" style="width: 0%;">
				</div>
			 </div>
	         <div class="modal-footer">
	            <button type="button" class="btn btn-default" 
	               data-dismiss="modal">关闭
	            </button>
				<button class="btn btn-success" onclick="R.jarupload()">上传文件</button>
	         </div>
	      </div>
	     </div>
	</div>
	<input onchange="R.uploadjarfile()" name="file" type="file" id="fileupload" style="display:none;" />
    <script>
	R.getJarData = function(){
        webmcs.setting.getjars(function(data){
            if (data.status){
				var html = "";					
				for(var i=0;i<data.files.length;i++){
					html += "<option value='"+data.files[i]+"'>"+data.files[i]+"</option>";
				}
				$("#jarpath").html(html);
			}
        });
	}
    R.saveData = function(){
    	var data = {
    		javaPath : $("#javapath").val(),
    		jarPath : $("#jarpath").val(),
    		javaParam : $("#javaparam").val(),
    		startParam : $("#startparam").val(),
   			maxMemory : $("#maxmemory").val()
   		};
   		webmcs.setting.savesetting(JSON.stringify(data), function(data){
   			if (!data.status){
				switch(data.msg){
					case "NOTLOGIN":
						R.notLogin();
						break;
					case "DATAERROR":
						R.showMsg("保存设置失败，数据错误！");
						break;
					case "SAVEERROR":
						R.showMsg("保存设置失败，服务器无法保存文件，请重试！");
						break;
					case "NETERROR":
						R.showMsg("网络异常，配置保存失败，请刷新页面重试！");
						break;
					default:
						R.showMsg("发生未知异常(" + data.msg + ")，请联系作者！");
				}
			}else{
				R.showMsg("保存设置成功！");
			}
   		});
    };
    
    R.help_java = function(){
    	var text = "设置Java路径，用于启动Minecraft服务端。根据需要可以自行选择不同版本的Java，如果不设置则使用系统默认Java。";
    	R.showMsg(text);
    }
    R.help_jar = function(){
    	var text = "设置核心JAR文件，用作启动Minecraft服务器，如果没有选项可以选择，那么请通过上传按钮来上传开服用JAR文件，文件可以在百度下载。<hr />如果需要上传多个文件（如Cauldron服务端），请使用 更多 - 服务器文件管理 功能进行上传，然后在这里选择JAR，具体见 更多-管理服务器文件 ";
    	R.showMsg(text);
    }
    R.help_javaparam = function(){
    	var text = "设置Java附加参数，将被加载命令行 java {param} -jar 'jarfile' 中的param位置处，可以用来自定义JVM虚拟机启动参数。如果你不知道这是什么，请不要填写。";
    	R.showMsg(text);
    }
    R.help_startparam = function(){
    	var text = "设置启动附加参数，将被加载命令行 java -jar 'jarfile' {param} 中的param位置处，可以用来自定义服务端jar文件启动参数。如果不知道这是什么，请不要填写。";
    	R.showMsg(text);
    }
    R.help_memory = function(){
    	var text = "设置服务器最大内存，单位为MB。请注意这不是你电脑内存，而是服务器可用内存。对于32位Java，最大内存不应该超过2GB。如果要用更大内存，请使用64位Java启动服务器。";
    	R.showMsg(text);
    }
    R.getFileList = function(path){
    	path = path==undefined?"":path;
		$("#curpath").html("当前位置:" + path);
		webmcs.setting.getfiles(path, function(data){
			if (!data.status){
    			R.showAlert("错误：没有权限访问，请登陆后使用！","filelist_alert");
    		}else{
    			var arr = data.files;
    			var html = "";
    			for(var i=0;i<arr.length;++i){
    				if(arr[i][1] == "File"){
    					html += "<tr onclick='R.setFilePath(\"" + arr[i][0] + "\")'>";
    				}else{
    					html += "<tr onclick='R.getFileList(\"" + arr[i][0] + "\")'>";
    				}
    				if (arr[i][1]==".."){
    					html += "<td>..</td>";
    					html += "<td></td>";
    				}else{
    					html += "<td>" + arr[i][3] + "</td>";
    					html += "<td>" + arr[i][1] + "</td>";
    				}
    				html += "<td>" + arr[i][2] + "</td>"
    				html += "</tr>";
    			}
    			$("#file_list").html(html);
    		}
		});
    };
	R.jarupload = function(){
		$("#fileupload").click();
	}
	R.uploadjarfile = function(){
		var filename = $("#fileupload").val();
		if (filename.toLowerCase().lastIndexOf(".jar")!=filename.length-4){
			R.showAlert("错误：请选择jar文件！","jar_alert");
			return;
		}
		//上传文件
		var formData = new FormData();
		formData.append("file",$("#fileupload")[0].files[0]);
		$.ajax({
			type : "post",
			xhr: function() {
				var xhr = $.ajaxSettings.xhr();
				xhr.upload.addEventListener('progress', function(evt){
					var loaded = evt.loaded;  
					var tot = evt.total;  
					var per = Math.floor(100*loaded/tot);  //已经上传的百分比  
					$("#progressbar").css("width",per+"%");
				}, false);
				return xhr;
			},
			url : "setting/uploadjar.mcs?token=" + webmcs.getToken(),
			dataType : "json",
			data: formData,  
       	 	contentType: false,
       		processData: false,
			success : function(data){
				if (data.status){
					R.showMsg("文件上传成功！");
					R.getJarData();
					$('#jarupload_modal').modal('hide');
				}else{
					switch(data.msg){
						case "NOTLOGIN":
							R.showAlert("请先登陆再上传文件！","jar_alert");
							break;
						case "TYPEERROR":
							R.showAlert("文件类型错误，只支持jar文件！","jar_alert");
							break;
						case "EXCEPTION":
							R.showAlert("服务器内部异常，请查看后台报错信息并反馈给作者。","jar_alert");
							break;
						case "FILEREPEAT":
							R.showAlert("文件名重复，无法上传。","jar_alert");
							break;
						case "CHECKERROR":
							R.showAlert("上传校验未通过，请提供浏览器版本号给作者修复这个问题。","jar_alert");
							break;
					}
				}
				$("#fileupload").val("");
				$("#progressbar").css("width","0%");
			},
			error : function(){
				R.showAlert("服务器异常，上传失败，请重试。","jar_alert");
				$("#progressbar").css("width","0%");
			}
		});
	}
	R.setFilePath = function(path){
    	$("#javapath").val(path);
    	$('#filelist_modal').modal('hide');
    }
    R.showAlert = function(msg,id){
    	$("#"+id).html(msg);
		$("#"+id).css("display","block");
		setTimeout(function(){
			$("#"+id).css("display","none");
		},3000);
    }
    R.getJarData();
    webmcs.setting.getsetting(function(data){
    	if (!data.status){
    		R.notLogin();
    	}else{
    		$("#javapath").val(data.javaPath);
    		$("#jarpath").val(data.jarPath);
    		$("#javaparam").val(data.javaParam);
    		$("#startparam").val(data.startParam);
    		$("#maxmemory").val(data.maxMemory);
    	}
    });
    </script>